let arr = [1, 2, 3, 4, 11, 1, 1, 1, 2, 2, 2, 3, 5];
// 1.数组去重
let newArr = [...new Set(arr)];
console.log(newArr);

// 2.交集: 比较两个数组 返回两个数组中同时存在的值
let arr2 = [1, 2, 3, 3, 2, 1, 6];
let newArr2 = [...new Set(arr2)].filter((item) => arr.includes(item));
console.log("交集", newArr2);

// 3.并集: 合并两个数组去重
let newArr3 = [...new Set([...arr, ...arr2])];
console.log("并集", newArr3);

// 4.差集: 主要是谁和谁求差集 
// 1和2 看1里面有的2里面没有的 
// 2和1 看2里面有的1里面没有的
let arr3 = [1, 2, 3];
let arr4 = [3, 4, 5];
// 交集的逆运算
// 3和4
let newArr4 = arr3.filter((item) => !arr4.includes(item));
// 4和3
let newArr5 = arr4.filter((item) => !arr3.includes(item));
console.log("3和4求差集", newArr4);
console.log("4和3求差集", newArr5);